<?php

Yii::import('application.modules.ninio.models._base.BaseInstitucionCrugeUser');

class InstitucionCrugeUser extends BaseInstitucionCrugeUser {

    /**
     * @return InstitucionCrugeUser
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'InstitucionCrugeUser|InstitucionCrugeUsers', $n);
    }

    public function relations() {
        return array(
            'institucion' => array(self::BELONGS_TO, 'institucion', 'institucion_id'),
        );
    }

    /**
     * Realiza el guardado de una institucion en la tabla InsititucionCrugeUser
     * @author Sofia Mejia <amandasofiamejia@gmail.com>
     * @param id $intitucion_id
     * @return boolean : true guardado exitoso, false error guardado
     */
    public function guardarInstitucionCrugeUser($intitucion_id) {
        if (!empty($intitucion_id)) {
            $modelC = new InstitucionCrugeUser;
            $modelC->institucion_id = $intitucion_id;
            $modelC->cruge_user_id = Yii::app()->user->id;
            if ($modelC->save()) {
                return true;
            } else {
                throw new Exception("No se asigno el contacto al usuario");
            }
        }
    }

    /**
     * Permite saber si un usuario a registrado una institucion
     * @author Mauricio Chamorro <mrchamorro@utn.edu.ec>
     * @return \InstitucionCrugeUser
     */
    public function de_usuario() {
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 't.cruge_user_id=:id',
                    'params' => array(
                        ':id' => Yii::app()->user->id,
                    )
                )
        );
        return $this;
    }
    /**
     * Busca la institucion deacuerdo al id del usuario
     * @author Mauricio Chamorro <mrchamorro@utn.edu.ec>
     * @param type $id
     * @return \InstitucionCrugeUser
     */
     public function de_institucion($id) {
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 't.institucion_id=:institucion_id AND t.cruge_user_id = :cruge_user_id',
                    'params' => array(
                        ':cruge_user_id' => Yii::app()->user->id,
                        ':institucion_id' => $id,
                    )
                )
        );
        return $this;
    }

}
